package comsume.config;

import org.springframework.cloud.stream.annotation.Input;
import org.springframework.messaging.SubscribableChannel;

public interface MySink {

    /**
     * 注意，这个名字要和我们配置文件中的 spring.cloud.stream.bindings 配置项对应上。
     * 同时，@Input 注解的方法的返回结果为 SubscribableChannel 类型，可以使用它订阅消息来消费。
     */

    String CLUSTER_INPUT = "cluster-input";
    String RADIO_INPUT = "radio-input";
    String RETRY_INPUT = "retry-input";
    String ORDER_INPUT = "order-input";
    String FILTER_INPUT = "filter-input";
    String TRANSACTIONAL_INPUT = "transactional-input";

    @Input(CLUSTER_INPUT)
    SubscribableChannel clusterINPUT();

    @Input(RADIO_INPUT)
    SubscribableChannel radioInput();

    @Input(RETRY_INPUT)
    SubscribableChannel retryInput();

    @Input(ORDER_INPUT)
    SubscribableChannel orderInput();

    @Input(FILTER_INPUT)
    SubscribableChannel filterInput();

    @Input(TRANSACTIONAL_INPUT)
    SubscribableChannel transactionalInput();

}